﻿using System;
using System.Windows.Input;

namespace WinRTFramework.Interfaces.Navigation
{
    public interface INavigationService
    {
        ICommand GoBackCommand { get; }
        ICommand GoForwardCommand { get; }
        ICommand GoHomeCommand { get; }
        Type CurrentViewModelType { get; }

        bool Navigate<TViewModelType>(); //requests new instance of this type from IoC container
        bool Navigate<TViewModelType>(object navigationParameter); //requests new instance of this type from IoC container
        bool Navigate(Type vmType);
        bool Navigate(Type vmType, object navigationParameter);
    }
}
